1277E - Two Fairs - CodeForces Solution


dfs and similar graphs *1900

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;

const int maxn=5e5+10;
int cnt,cnta,cntb;
int vis[maxn];
vector <int> e[maxn];

void dfs(int k,int t)
{
	vis[k]=t;cnt++;
	for (auto i:e[k]) if (vis[i]!=t) dfs(i,t);
}

int main()
{
	int T;scanf("%d",&T);
	for (int t=1;t<=T;t++)
	{
		int n,m,a,b;scanf("%d%d%d%d",&n,&m,&a,&b);
		for (int i=1;i<=n;i++) e[i].clear();
		for (int i=1;i<=m;i++)
		{
			int x,y;scanf("%d%d",&x,&y);
			e[x].push_back(y);
			e[y].push_back(x);
		}
		
		vis[a]=t*2-1;cnt=1;dfs(b,t*2-1);cnta=n-cnt;
		vis[b]=t*2;cnt=1;dfs(a,t*2);cntb=n-cnt;
		printf("%lld\n",1ll*cnta*cntb);
	}
	
	return 0;
}
	 	 	 	 	  	  	 	 		  		  		
 		 	  			 	 									 		 	
	   	   	   					 		 	 	   	 		


Comments

Submit
0 Comments
More Questions

181A - Series of Crimes
1638A - Reverse
1654C - Alice and the Cake
369A - Valera and Plates
1626A - Equidistant Letters
977D - Divide by three multiply by two
1654B - Prefix Removals
1654A - Maximum Cake Tastiness
1649A - Game
139A - Petr and Book
1612A - Distance
520A - Pangram
124A - The number of positions
1041A - Heist
901A - Hashing Trees
1283A - Minutes Before the New Year
1654D - Potion Brewing Class
1107B - Digital root
25A - IQ test
785A - Anton and Polyhedrons
1542B - Plus and Multiply
306A - Candies
1651C - Fault-tolerant Network
870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book